home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2008 September
/
PCWorld_2008-09_cd.bin
/
v cisle
/
sadanastroju
/
greasemonkey-0.8.20080609.0-fx.xpi
/
chrome
/
greasemonkey.jar
/
chromeFiles
/
content
/
install.js
< prev
next >
Wrap
Text File
|
2008-06-09
|
4KB
|
118 lines
var GMInstall = {
init: function() {
var ioservice = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
this.htmlNs_ = "http://www.w3.org/1999/xhtml";
this.scriptDownloader_ = window.arguments[0];
this.script_ = this.scriptDownloader_.script;
this.setupIncludes("includes", "includes-desc", this.script_.includes);
this.setupIncludes("excludes", "excludes-desc", this.script_.excludes);
this.dialog_ = document.documentElement;
this.extraButton_ = this.dialog_.getButton("extra1");
this.extraButton_.setAttribute("type", "checkbox");
this.acceptButton_ = this.dialog_.getButton("accept");
this.acceptButton_.baseLabel = this.acceptButton_.label;
this.timer_ = null;
this.seconds_ = 0;
this.startTimer();
this.bundle = document.getElementById("gm-browser-bundle");
this.greetz = new Array();
for(var i = 0; i < 6; i++){
this.greetz.push(this.bundle.getString("greetz." + i));
}
var pick = Math.round(Math.random() * (this.greetz.length - 1));
var heading = document.getElementById("heading");
heading.appendChild(document.createElementNS(this.htmlNs_, "strong"));
heading.firstChild.appendChild(document.createTextNode(this.greetz[pick]));
heading.appendChild(document.createTextNode(" " + this.bundle.getString("greeting.msg")));
var desc = document.getElementById("scriptDescription");
desc.appendChild(document.createElementNS(this.htmlNs_, "strong"));
desc.firstChild.appendChild(document.createTextNode(this.script_.name));
desc.appendChild(document.createElementNS(this.htmlNs_, "br"));
desc.appendChild(document.createTextNode(this.script_.description));
},
onFocus: function(e) {
this.startTimer();
},
onBlur: function(e) {
this.stopTimer();
},
startTimer: function() {
this.seconds_ = 4;
this.updateLabel();
if (this.timer_) {
window.clearInterval(this.timer_);
}
this.timer_ = window.setInterval(function() { GMInstall.onInterval() }, 500);
},
onInterval: function() {
this.seconds_--;
this.updateLabel();
if (this.seconds_ == 0) {
this.timer_ = window.clearInterval(this.timer_);
}
},
stopTimer: function() {
this.seconds_ = 5;
this.timer_ = window.clearInterval(this.timer_);
this.updateLabel();
},
updateLabel: function() {
if (this.seconds_ > 0) {
this.acceptButton_.focus();
this.acceptButton_.disabled = true;
this.acceptButton_.label = this.acceptButton_.baseLabel + " (" + this.seconds_ + ")";
} else {
this.acceptButton_.disabled = false;
this.acceptButton_.label = this.acceptButton_.baseLabel;
}
},
setupIncludes: function(box, desc, includes) {
if (includes.length > 0) {
desc = document.getElementById(desc);
document.getElementById(box).style.display = "";
for (var i = 0; i < includes.length; i++) {
desc.appendChild(document.createTextNode(includes[i]));
desc.appendChild(document.createElementNS(this.htmlNs_, "br"));
}
desc.removeChild(desc.lastChild);
}
},
onOK: function() {
this.scriptDownloader_.installScript();
window.setTimeout("window.close()", 0);
},
onCancel: function(){
this.scriptDownloader_.cleanupTempFiles();
window.close();
},
onShowSource: function() {
this.scriptDownloader_.showScriptView();
window.setTimeout("window.close()", 0);
}
};